// console.log(undefined.toString());  报错

// console.log('1'.toString()); 类型隐式转换

// console.log(0.1 + 0.2 == 0.3)  精度丢失

// null

// function test(person){
//   person.age = 20
//   person = {
//     name: "Lionel",
//     age: 30
//   }
//   return person
// }

// const p1 = {
//   name:"Alex",
//   age: 25
// }
// const p2 = test(p1)
// console.log(p1);
// console.log(p2);

const Person = function () {}
const p1 = new Person()
// console.log(p1 instanceof Person); true

var str1 = 'helloWorld'
// console.log(str instanceof String); false

var str2 = new String('hello')
var str3 = new String('hell')
// console.log(str instanceof String); true

// function _instanceof (obj1, obj2) {
//   let pro1 = typeof obj1 == 'function' ? obj1.prototype : obj1.__proto__
//   let pro2 = typeof obj2 == 'function' ? obj2.prototype : obj2.__proto__

//   while (pro1 !== null) {
//     if (pro1 == pro2) return true
//     else pro1 = pro1.__proto__
//   }
//   return false
// }

// function myInstanceof(L,R){
//   var O = R.prototype,
//   L = L.__proto__

//   if(O === L) return true

//   while(L!==null){
//     if(O===L) return true
//     L = L.__proto__
//   }
//   return false
// }


// console.log(_instanceof(str2, Function))

